The present invention pertains to a method and apparatus for delivering data over a network. More particularly, the present invention pertains to the indirect transfer of information in response to an initial user operation.
The Internet system is a network of computer systems that allows the sending of data or information between a source component (sometimes referred to as a host or server) and a destination component (sometimes referred to as a client) using a protocol such as TCP/IP (Transmission Control Protocol/Internet Protocol). As an example, referring to FIG. 1 a client 10, such as a home personal computer (PC) is coupled to a server 20 via a network 30. In this example, server 20 is a so-called "web-site" on the World Wide Web system (a portion of the Internet system). Client 10, via the operation of a software program called a browser (e.g., Netscape Navigator.RTM. 3.0 by Netscape Communications Corp.), accesses information at server 20 by using a URL (Universal Resource Locator) which identifies server 20 or a file located at server 20. The browser utilizes a protocol, such as HyperText Transfer Protocol (HTTP), to ask for "pages" (or "web pages") of information that contain text or richtext (e.g., multimedia such as audio and/or video images). The content of each page may include hypertext links that may lead to other pages at server 20 or other servers coupled to network 30. Server 20 presents information in a form called a "web page" to client 10 via network 30, where each web page typically includes Hypertext Markup Language (HTML). A more detailed explanation of HTML and HTTP can be found in "HTML Sourcebook" 2d Ed., by Ian S. Graham, 1996, John Wiley & Sons, Inc. The connection between client 10 and server 20 can be direct, but typically includes one or more nodes 31, 32, 33 which relay information to its appropriate destination using the TCP/IP protocol. The accessing of the information occurs in "real-time" in that information from server 20 is provided to client 10 at the same time it is requested. The transaction of information between server 20 and client 10 can be referred to as a series of request-response interactions where either client 10 or server 20 or both request and/or receive information from the other.
The network 30 over which client 10 accesses information from server 20 may have features making it undesirable or uneconomical for such a transfer of information. For example, if network 30 includes ISDN telephone lines, such lines usually are more costly than plain old telephone service (POTS) lines. Also, client 10 may be trying to access information from server 20 when activity on the network 30 from other users is at a peak. In such a circumstance, the available bandwidth for the information requested by client 10 will be reduced, thus increasing the amount of time required for the transfer of such information. In addition to network problems, the server 20, itself, may be overloaded with requests, thus delaying the transfer of information between server 20 and client 10. Accordingly, there is need for a method and apparatus that allows for the delivery of data or information between a server and a client user that overcomes these aforementioned problems.